Dynomotion

Group: DynoMotion Message: 14038 From: daveymahomh600e Date: 11/13/2016
Subject: Trouble Running Emerson Servos
Hi Tom,
I'm trying to setup some Emerson Unimotor 3ph brushless servos with SnapAmp, but can't get them to respond properly.

The autopahsefindfast.c works good to slowly move the motors and determine offsets, but step response testing only gives nasty ticking of the motors regardless of any settings I try. The motor specs are very similar to the Baldor servo motors I often use so I am at a loss as to what may be wrong.

Any suggestions are greatly appreciated.

Regards,
David.


Group: DynoMotion Message: 14045 From: Tom Kerekes Date: 11/13/2016
Subject: Re: Trouble Running Emerson Servos

Hi David,

Do you have a motor specification?

What does the report of AutoPhaseFindFast.c indicate?

What happens during phase finding?

What are your Axis settings?

Regards

TK


On 11/13/2016 6:28 AM, david.m.stevenson@... [DynoMotion] wrote:
 

Hi Tom,
I'm trying to setup some Emerson Unimotor 3ph brushless servos with SnapAmp, but can't get them to respond properly.

The autopahsefindfast.c works good to slowly move the motors and determine offsets, but step response testing only gives nasty ticking of the motors regardless of any settings I try. The motor specs are very similar to the Baldor servo motors I often use so I am at a loss as to what may be wrong.

Any suggestions are greatly appreciated.

Regards,
David.



Group: DynoMotion Message: 14046 From: David Stevenson Date: 11/13/2016
Subject: Re: Trouble Running Emerson Servos

Hi Tom,

During phase finding the motor slowly and smoothly turns 2 turns one way, then reverses and turns about 1 turn the opposite direction.

Here is the report, as well as the axis settings and motor specs:

REPORT (autophasefindfast.c)
------
0 Position =  -2178 PhaseAngle = 1.131900
1 Position = -18562 PhaseAngle = 6.132500
2 Position = -18562 PhaseAngle = 6.055300
3 Position =  -2178 PhaseAngle = 1.040500
Counts per rev = -16384
Counts per cycle =  -3276
Counts per cycle (rounded)=  -3280
invDistPerCycle (rounded)= -0.000304878049
Commutation offset =    512
Input Gain Specified =  1.000

Axis Settings:

    ch0->InputMode=ENCODER_MODE;
    ch0->OutputMode=BRUSHLESS_3PH_MODE;
    ch0->Vel=4000;
    ch0->Accel=4000;
    ch0->Jerk=4e+06;
    ch0->P=0;
    ch0->I=0.0001;
    ch0->D=0;
    ch0->FFAccel=0;
    ch0->FFVel=0;
    ch0->MaxI=200;
    ch0->MaxErr=1e+06;
    ch0->MaxOutput=200;
    ch0->DeadBandGain=1;
    ch0->DeadBandRange=0;
    ch0->InputChan0=8;
    ch0->InputChan1=0;
    ch0->OutputChan0=8;
    ch0->OutputChan1=0;
    ch0->MasterAxis=-1;
    ch0->LimitSwitchOptions=0x100;
    ch0->LimitSwitchNegBit=0;
    ch0->LimitSwitchPosBit=0;
    ch0->SoftLimitPos=1e+09;
    ch0->SoftLimitNeg=-1e+09;
    ch0->InputGain0=1;
    ch0->InputGain1=1;
    ch0->InputOffset0=0;
    ch0->InputOffset1=0;
    ch0->OutputGain=1;
    ch0->OutputOffset=0;
    ch0->SlaveGain=1;
    ch0->BacklashMode=BACKLASH_OFF;
    ch0->BacklashAmount=0;
    ch0->BacklashRate=0;
    ch0->invDistPerCycle=0.000304878049;
    ch0->Lead=0;
    ch0->MaxFollowingError=1000000000;
    ch0->StepperAmplitude=20;

    ch0->iir[0].B0=1;
    ch0->iir[0].B1=0;
    ch0->iir[0].B2=0;
    ch0->iir[0].A1=0;
    ch0->iir[0].A2=0;

    ch0->iir[1].B0=1;
    ch0->iir[1].B1=0;
    ch0->iir[1].B2=0;
    ch0->iir[1].A1=0;
    ch0->iir[1].A2=0;

    ch0->iir[2].B0=0.000769;
    ch0->iir[2].B1=0.001538;
    ch0->iir[2].B2=0.000769;
    ch0->iir[2].A1=1.92076;
    ch0->iir[2].A2=-0.923833;
   
   
Motor Specs:
   
Unimotor HD 089EDB400BACAA   

Type    Unimotor HD   
Frame Size (mm)    089   
Voltage    E    E - 220V
Magnet type    D    D - High dynamic
Frame Length    B   
Speed (min-1)    40    4000
Brake    0    0 - Not fitted
Connection type    B    B - Power and Signal 90° rotatable
Output shaft    A    A - Key
Feedback device code    CA    CA - 4096 ppr Incremental encoder
Inertia & thermistor    A    A - Standard + PTC thermistor
PCD    100    100 (FF 100 / 80)
Shaft Diameter    190    19j6 x 40.0 .
Fan box    -   
Insulation class    F   

Nominal characteristics

Motor Ambient Temperature (°C)    40    Drive Fsw (kHz)    12
Motor Stall Torque (N.m)    5.50    Stall Current (A)    7.90
Rated Torque (N.m)    4.55    Nominal Current (A)    6.5
Motor Peak Torque (N.m)    16.50    I max (A)    23.57
Rated Power (kW)    1.91    Kt (Nm/A)    0.70000
Winding Thermal Time Constant (s)    93    Ke (V/kmin-1)    42.75
Number of Poles    10    R (ph-ph) (Ohm)    0.79
Maximum Cogging (N.m)    0    L (ph-ph) (mH)    5.97
Inertia (kg.cm²)    1.61    Weight (kg)    4.40
Ingress Protection Level (IP)    IP65       

Thanks,

David.


On 11/13/2016 2:59 PM, Tom Kerekes tk@... [DynoMotion] wrote:
 

Hi David,

Do you have a motor specification?

What does the report of AutoPhaseFindFast.c indicate?

What happens during phase finding?

What are your Axis settings?

Regards

TK


On 11/13/2016 6:28 AM, david.m.stevenson@... [DynoMotion] wrote:
 

Hi Tom,
I'm trying to setup some Emerson Unimotor 3ph brushless servos with SnapAmp, but can't get them to respond properly.

The autopahsefindfast.c works good to slowly move the motors and determine offsets, but step response testing only gives nasty ticking of the motors regardless of any settings I try. The motor specs are very similar to the Baldor servo motors I often use so I am at a loss as to what may be wrong.

Any suggestions are greatly appreciated.

Regards,
David.







Avast logo

This email has been checked for viruses by Avast antivirus software.
www.avast.com


Group: DynoMotion Message: 14058 From: Tom Kerekes Date: 11/14/2016
Subject: Re: Trouble Running Emerson Servos

Hi David,

That seems to be working somewhat except when the motor reverses to find the index mark it is detecting the same rotor position rather than waiting for a new revolution.

Can you see that Positions #1 and #2 are the same?  The test should find two index marks in the forward direction and then two index marks in the reverse direction.  This causes the Commutation Offset to be computed incorrectly.

There is a setting in the program:

ignore=300;

that sets how long to ignore looking for the next index pulse (10000 would be a full phase cycle).  In your case the even though the magnetic poles have reversed/advanced by 300 probably due to friction the rotor remains on the Index mark.

Increase this value and see if you can get the test to succeed.

Based on 4096ppr and a 10 pole motor the correct invDistPerCycle will be

(10/2) / (-4096 x 4) =  -0.00030517578125

You should use this number exactly as the measured number by the test may have some small error.

HTH

Regards

TK


On 11/13/2016 1:07 PM, David Stevenson david.m.stevenson@... [DynoMotion] wrote:
 

Hi Tom,

During phase finding the motor slowly and smoothly turns 2 turns one way, then reverses and turns about 1 turn the opposite direction.

Here is the report, as well as the axis settings and motor specs:

REPORT (autophasefindfast.c)
------
0 Position =  -2178 PhaseAngle = 1.131900
1 Position = -18562 PhaseAngle = 6.132500
2 Position = -18562 PhaseAngle = 6.055300
3 Position =  -2178 PhaseAngle = 1.040500
Counts per rev = -16384
Counts per cycle =  -3276
Counts per cycle (rounded)=  -3280
invDistPerCycle (rounded)= -0.000304878049
Commutation offset =    512
Input Gain Specified =  1.000

Axis Settings:

    ch0->InputMode=ENCODER_MODE;
    ch0->OutputMode=BRUSHLESS_3PH_MODE;
    ch0->Vel=4000;
    ch0->Accel=4000;
    ch0->Jerk=4e+06;
    ch0->P=0;
    ch0->I=0.0001;
    ch0->D=0;
    ch0->FFAccel=0;
    ch0->FFVel=0;
    ch0->MaxI=200;
    ch0->MaxErr=1e+06;
    ch0->MaxOutput=200;
    ch0->DeadBandGain=1;
    ch0->DeadBandRange=0;
    ch0->InputChan0=8;
    ch0->InputChan1=0;
    ch0->OutputChan0=8;
    ch0->OutputChan1=0;
    ch0->MasterAxis=-1;
    ch0->LimitSwitchOptions=0x100;
    ch0->LimitSwitchNegBit=0;
    ch0->LimitSwitchPosBit=0;
    ch0->SoftLimitPos=1e+09;
    ch0->SoftLimitNeg=-1e+09;
    ch0->InputGain0=1;
    ch0->InputGain1=1;
    ch0->InputOffset0=0;
    ch0->InputOffset1=0;
    ch0->OutputGain=1;
    ch0->OutputOffset=0;
    ch0->SlaveGain=1;
    ch0->BacklashMode=BACKLASH_OFF;
    ch0->BacklashAmount=0;
    ch0->BacklashRate=0;
    ch0->invDistPerCycle=0.000304878049;
    ch0->Lead=0;
    ch0->MaxFollowingError=1000000000;
    ch0->StepperAmplitude=20;

    ch0->iir[0].B0=1;
    ch0->iir[0].B1=0;
    ch0->iir[0].B2=0;
    ch0->iir[0].A1=0;
    ch0->iir[0].A2=0;

    ch0->iir[1].B0=1;
    ch0->iir[1].B1=0;
    ch0->iir[1].B2=0;
    ch0->iir[1].A1=0;
    ch0->iir[1].A2=0;

    ch0->iir[2].B0=0.000769;
    ch0->iir[2].B1=0.001538;
    ch0->iir[2].B2=0.000769;
    ch0->iir[2].A1=1.92076;
    ch0->iir[2].A2=-0.923833;
   
   
Motor Specs:
   
Unimotor HD 089EDB400BACAA   

Type    Unimotor HD   
Frame Size (mm)    089   
Voltage    E    E - 220V
Magnet type    D    D - High dynamic
Frame Length    B   
Speed (min-1)    40    4000
Brake    0    0 - Not fitted
Connection type    B    B - Power and Signal 90° rotatable
Output shaft    A    A - Key
Feedback device code    CA    CA - 4096 ppr Incremental encoder
Inertia & thermistor    A    A - Standard + PTC thermistor
PCD    100    100 (FF 100 / 80)
Shaft Diameter    190    19j6 x 40.0 .
Fan box    -   
Insulation class    F   

Nominal characteristics

Motor Ambient Temperature (°C)    40    Drive Fsw (kHz)    12
Motor Stall Torque (N.m)    5.50    Stall Current (A)    7.90
Rated Torque (N.m)    4.55    Nominal Current (A)    6.5
Motor Peak Torque (N.m)    16.50    I max (A)    23.57
Rated Power (kW)    1.91    Kt (Nm/A)    0.70000
Winding Thermal Time Constant (s)    93    Ke (V/kmin-1)    42.75
Number of Poles    10    R (ph-ph) (Ohm)    0.79
Maximum Cogging (N.m)    0    L (ph-ph) (mH)    5.97
Inertia (kg.cm²)    1.61    Weight (kg)    4.40
Ingress Protection Level (IP)    IP65       

Thanks,

David.


On 11/13/2016 2:59 PM, Tom Kerekes tk@... [DynoMotion] wrote:
 

Hi David,

Do you have a motor specification?

What does the report of AutoPhaseFindFast.c indicate?

What happens during phase finding?

What are your Axis settings?

Regards

TK


On 11/13/2016 6:28 AM, david.m.stevenson@... [DynoMotion] wrote:
 

Hi Tom,
I'm trying to setup some Emerson Unimotor 3ph brushless servos with SnapAmp, but can't get them to respond properly.

The autopahsefindfast.c works good to slowly move the motors and determine offsets, but step response testing only gives nasty ticking of the motors regardless of any settings I try. The motor specs are very similar to the Baldor servo motors I often use so I am at a loss as to what may be wrong.

Any suggestions are greatly appreciated.

Regards,
David.







Avast logo

This email has been checked for viruses by Avast antivirus software.
www.avast.com